home *** CD-ROM | disk | FTP | other *** search
/ PC Media 23 / PC MEDIA CD23.iso / share / prog / gapcdr1 / whats.new < prev   
Encoding:
Text File  |  1995-01-03  |  13.0 KB  |  327 lines

  1.  
  2. 05/22/94
  3.  
  4.   Added support for Fossil Drivers. 
  5.  
  6.     To use a Fossil Driver as the communications interface, place
  7.     the word FOSSIL on the 5th line of the Door Configuration
  8.     File. GAPCDR has been tested and confirmed to work with 
  9.     BNU and X00.
  10.  
  11.     Note that due to the limitations of the Fossil's Interrupt 14
  12.     interface, the highest baud rate that can be set is 38400 bps.
  13.     It is possible to configure the Fossil Driver to lock the
  14.     baud rate (BNU supports up to 38400 bps and X00 supports up to
  15.     115200 bps). When the port is locked, the Fossil Drivers are
  16.     supposed to ignore any requests for a change in port speed (we
  17.     have not confirmed if they actually do this). However, the
  18.     GAPCDR Communications routines will reject any baud rate higher
  19.     than 38400 bps and will return an error if you attempt to
  20.     initialize the port at a higher speed. The BBS software must be
  21.     configured for a port speed no higher than 38400 bps.
  22.  
  23.   Made library compatible with Borland C version 4.x. This release
  24.   of GAPCDR works only with Microsoft C version 7 or greater and
  25.   Borland C version 4 or greater.
  26.  
  27.     It is no longer necessary to specify which compiler you are 
  28.     using in the COMPILER.H file. If you are using Microsoft C
  29.     you are not required to include this file in your source files.
  30.     However, if you are using Borland C, you must include this file
  31.     because the Borland compiler still does not support single (or
  32.     double) underscores on all non-ANSI functions (it uses it on
  33.     some non-ANSI functions but not all of them).
  34.  
  35.     The structure packing pragma was moved out of the source files
  36.     and placed in the GAPSTRUC.H include file where it belongs. Don't
  37.     remove or change the position of the packing pragmas or your
  38.     programs will not be able to read or write the BBS specific files.
  39.  
  40.  
  41. 02/17/94
  42.  
  43.   Added support for C++ compilation. A couple of C++ reserved words
  44.   were removed from the structures and all of the GAPCDR header modules
  45.   were given "C" linkage.
  46.  
  47.   This "C" linkage consists of the following:
  48.  
  49.     #ifdef __cplusplus
  50.     extern "C" {
  51.     #endif 
  52.  
  53.     .... GAPCDR variables and declarations here
  54.  
  55.     #ifdef __cplusplus
  56.     }
  57.     #endif 
  58.  
  59.   If your compiler requires a different form of informing it that
  60.   the source file is a "C" file and not a C++ file, you will need
  61.   to change the  "extern "C" {" at the beginning of the include
  62.   files and the "}" at the end of the include files to whatever form
  63.   your compiler requires. In addition, if your compiler does not
  64.   define __cplusplus when it is building a C++ program, you will need
  65.   to change the ifdef's in the header files as well.
  66.  
  67.   The above defines and extern "C" declaration work for Microsoft C.
  68.  
  69.   If you need to change the C Linkage declarations, the two header files
  70.   that you will need to modify are GAPCDR.H and GAPSTRUC.H (at the 
  71.   beginning and end of the files).
  72.  
  73.  
  74. 09/13/93
  75.  
  76.   RIP support has been added.
  77.  
  78.     To check if a caller has RIP capability, call the function
  79.     'check_rip' immediately after calling 'init_door'. This function
  80.     will send the RIP interrogation sequence and wait for a response
  81.     from the remote terminal. If the remote terminal supports RIP,
  82.     the flag 'hasrip' will be set to 1. The 'show_file' function 
  83.     uses this flag to determine whether or not to send a RIP file
  84.     to the remote terminal instead of the regular ASCII/ANSI file.
  85.  
  86.       RIP files are named the same as your ASCII/ANSI files except
  87.       that they have an 'R' appended to the base part of the name:
  88.  
  89.       MAINM     MAINM.50     NEWS     NEWS1     WELC     WELC1
  90.       MAINMG    MAINMG.50    NEWSG    NEWS1G    WELCG    WELC1G
  91.       MAINMR    MAINMR.50    NEWSR    NEWS1R    WELCR    WELC1R  <- RIP
  92.  
  93.  
  94.     Note that 'check_rip' will wait up to 4 seconds for a response
  95.     from the remote terminal. If the caller has RIP capability, the
  96.     delay will probably not be noticeable. If the caller does NOT
  97.     have RIP capability, the 4 second delay will be noticeable. If
  98.     the caller does not have color enabled, then there is no need
  99.     to check for RIP capability (GAP BBS's, other BBS software may
  100.     be different).
  101.  
  102.     Example:
  103.  
  104.       doorcnf = read_cnf("DOOR.CNF");
  105.       init_door();
  106.       fclose(doorcnf);
  107.  
  108.       if (color && !local)                ! if not local and has color
  109.          check_rip();                     ! see if can handle RIP
  110.  
  111.       // if RIP capable, hasrip = 1
  112.  
  113.     If the caller does have RIP capability, an 'R' will be displayed
  114.     on the Status Line.
  115.  
  116.  
  117. 04/16/93
  118.  
  119.   GAPCDR now supports the DigiBoard COM/Xi series of Intelligent
  120.   Serial Communications boards. These boards contain 4 or 8 serial
  121.   ports along with their own on-board processor to control the ports.
  122.   These boards are actually a single-board computer dedicated to handling
  123.   serial port I/O.
  124.  
  125.   By moving the serial I/O functions from the Host Computer to the
  126.   DigiBoard, the IRQ and Interrupt Latency bottleneck that plagues
  127.   Multi-Tasking users is eliminated. 
  128.  
  129.   GAPCDR supports the DigiBoard in two ways:
  130.  
  131.         Direct Programming and INT14/EBIOS calls.
  132.  
  133.     Direct Programming is the fastest because it eliminates the need
  134.     for costly software interrupt calls to a slower BIOS. In addition
  135.     it does not require the presence of a Device Driver which basically
  136.     performs the same functions as the Direct Programming method.
  137.  
  138.     INT14/EBIOS requires that a Device Driver be loaded (this driver
  139.     is supplied by DigiBoard). Serial Port I/O is performed by issuing
  140.     software interrupts (Interrupt 14). 
  141.  
  142.   Whether or not to use the Direct Interface or the INT14/EBIOS
  143.   Interface depends on the BBS which will be running the GAPCDR
  144.   program. If the BBS is utilizing the Device Driver, then that is
  145.   how a GAPCDR program must be configured. If the BBS is a GAP system
  146.   and the Sysop is using the Direct Interface, then the GAPCDR program
  147.   must be configred the same.
  148.  
  149.   The two interfaces can not be intermixed since the Direct Interface will
  150.   essentially put the Device Driver to sleep.
  151.  
  152.   When using the INT14/EBIOS interface and the DigiBoard supplied Device
  153.   Driver, it is not necessary to turn on the "Character Waiting" flags
  154.   for each of the ports. GAPCDR does not use these flags as they basically
  155.   defeat the purpose of using a multi-port board in a multi-tasking
  156.   system. To use these flags an IRQ must be dedicated to the DigiBoard.
  157.   If the flags are not used, the IRQ need not be set.
  158.  
  159.      Imagine running 8 ports under a Multi-Tasker where all 8 ports
  160.      are in use. As characters are received by each of the 8 ports, an
  161.      interrupt is generated. The Device Driver must service the
  162.      interrupt request and since the driver runs on the Host Computer,
  163.      it will be spending a lot of precious time figuring out which of
  164.      the ports generated the interrupt and updating its "Character
  165.      Waiting" flag for that port.
  166.  
  167.      By disabling the "Character Waiting" flags and not utilizing the
  168.      IRQ, the Host Computer will not know it has 8 serial ports running
  169.      at high speed at the same time.
  170.  
  171.   If, however, the Sysop has the IRQ and Character Waiting flags enabled,
  172.   no harm is done. GAPCDR simply will not utilize the flags.
  173.  
  174.   The Character Waiting flags are provided because making Interrupt
  175.   14 calls takes longer than simply checking a memory address (which,
  176.   by the way, is what the Direct Programming interface does).
  177.  
  178.   To use a DigiBoard with a GAPCDR program, 4 additional lines have been
  179.   added to the Door Configuration file. These 4 new options are:
  180.  
  181.     Line 5 - The COM Port Interface to use:
  182.  
  183.              STANDARD    = Regular Communications Port Interface. This
  184.                            is what you would normally use.
  185.  
  186.              DIGIBOARD   = Direct DigiBoard Programming Interface. Must
  187.                            be used in conjunction with a program called
  188.                            RESETDIG.EXE. If you don't have this program
  189.                            but have a DigiBoard, then use the following
  190.                            option.
  191.  
  192.              INT14/EBIOS = Indirect DigiBoard Support via a Device Driver.
  193.                            All Communications to the DigiBoard (or any
  194.                            board that supports INT14/EBIOS) are performed
  195.                            via a Software Interrupt that the Device Driver
  196.                            handles.
  197.  
  198.     Line 6 - This is the DigiBoard Memory Window, or the address the
  199.              card uses as a communications area between the card and
  200.              the Host Computer. Only needed if using an Interface set
  201.              to DIGIBOARD. If using STANDARD or INT14/EBIOS, this can
  202.              be set to 0. This address must be entered in Hexadecimal.
  203.  
  204.                Valid entries are: C000, C800, D000, and D800
  205.  
  206.     Line 7 - This is the DigiBoard I/O Port address that the Board is
  207.              attached to. Only needed if using an Interface set to
  208.              DIGIBOARD. If using STANDARD or INT14/EBIOS, can be set
  209.              to 0. This address must be entered in Hexadecimal.
  210.  
  211.                Valid entries are: 100, 110, 120, 200, 220, 300 and 320
  212.  
  213.     Line 8 - This is the DigiBoard Channel Number for the port this
  214.              program will be utilizing. This is REQUIRED for DIGIBOARD
  215.              and INT14/EBIOS Interfaces. This is 1 - 8 for the
  216.              DIGIBOARD Interface and usually 4 - 11 for the INT14/EBIOS
  217.              Interface. This number tells the program which of the 
  218.              Com Ports on the DigiBoard it should use.
  219.  
  220.  
  221.   The new configuration file for a GAPCDR that will be using a DigiBoard
  222.   Serial port would look like the following:
  223.  
  224.     DOOR.CNF
  225.     ----------------------
  226.     C:\GAP
  227.     The Crow's Nest BBS
  228.     4
  229.     03F8
  230.     INT14/EBIOS
  231.     D000
  232.     320
  233.     4
  234.  
  235.     Lines 3 and 4 are ignored by the program and can be set to 0. 
  236.     Because this is an INT14/EBIOS interface, lines 6 and 7 are also
  237.     ignored. Line 8 is the Channel Number and in this case, it is the
  238.     first serial port on the DigiBoard (Channel Numbers 1 - 4 are
  239.     generally reserved for COM 1 - COM 4 on the Host Computer, although
  240.     this is up to the Sysop and how he/she configured the Device Driver).
  241.  
  242.  
  243.   To use the Direct Programming Interface, the configuration file
  244.   would look something like:
  245.  
  246.     DOOR.CNF
  247.     ----------------------
  248.     C:\GAP
  249.     The Crow's Nest BBS
  250.     4
  251.     03F8
  252.     DIGIBOARD
  253.     D000
  254.     320
  255.     1
  256.  
  257.     Lines 3 and 4 are ignored by the program and can be set to 0. 
  258.     Line 6 is the Memory Window that the DigiBoard and the program
  259.     use to communicate with each other. Line 7 is the I/O port that
  260.     the board uses. Line 8 is the Channel Number which, in this case,
  261.     is the first serial port on the DigiBoard.
  262.  
  263.  
  264.   To use the Standard Com Port Interface, the configuration file
  265.   would look something like:
  266.  
  267.     DOOR.CNF
  268.     ----------------------
  269.     C:\GAP
  270.     The Crow's Nest BBS
  271.     4
  272.     03F8
  273.     STANDARD
  274.     0
  275.     0
  276.     0
  277.  
  278.     Lines 3 and 4 are used ONLY if the program will be using a COM port
  279.     other than COM 1 or COM 2. They can be set to 0 if the program will
  280.     not be using non-standard COM ports. Line 5 tells the program to
  281.     use its own internal interrupt handler. Lines 6-8 are not used and
  282.     can be set to 0.
  283.  
  284.   Note that even if the DigiBoard specific options are not used or needed
  285.   they must still be present in the Configration File and all Door Specific
  286.   options now begin on Line 9.
  287.  
  288.  
  289. 02/18/92
  290.  
  291.   GAPCDR is now compatible with GAPBBS version 6.
  292.  
  293.  
  294. 01/12/91
  295.  
  296.   Since the new MASM 6 does not like the word WAIT to be used as
  297.   a procedure name, the function wait() has been changed to timer().
  298.   
  299.   If you are converting from a previous version of GAPCDR, please
  300.   note that line 3 of the Door Configuration File (the one that was
  301.   either a 0 for GAP or a 1 for PCB, has been removed. GAPCDR no
  302.   longer cares what BBS system it is operating under.
  303.  
  304.     The CNF file now has just 4 required lines. Please consult
  305.     the documentation for the proper format of the Door Configuration
  306.     File.
  307.  
  308.   The show_file function no longer supports the old GAP AnsiCmds
  309.   to clear the screen and disable the More prompt.
  310.  
  311.     Future releases of GAPCDR will include support for the full
  312.     replaceable parameter command set of GAP and PCB.
  313.  
  314.   GAPCDR now writes directly to the screen (and is fully DESQview
  315.   compatible). It contains its own built in ANSI driver. Because
  316.   of the built in ANSI driver, if you used one of the C console
  317.   output statements (printf, cputs, etc), you need to change
  318.   those statments to use the GAPCDR functions of lputs or lputc.
  319.  
  320.     If you use C's console output statments to write to the local
  321.     screen, your local screen will be quite a mess!
  322.  
  323.   All of the GAPCDR functions are now documented. A printed and 
  324.   bound manual is also available. Many new functions were added
  325.   and they are all explained in the manual.
  326.  
  327.